"if(数值不为0),则执行下面的语句"这属于什么函数或类型?

来源:百度知道 编辑:UC知道 时间:2024/05/10 05:52:48
很感谢你解答了这个提问
#include "stdafx.h"
#include "stdio.h"

void main(int argc, char* argv[])
{int a=9,b=10;
if(a==b)
{printf("#####");}
else
{printf("*****");}
if(a=b)
{printf("$$$$$\n");
}
}
结果为什么是*****$$$$$

你解释了过程是这样的
if(a==b) /* a=9,b=10,a不等于b,所以 */
{printf("#####");}
else
{printf("*****");} /* 走这里 */
if(a=b) /* a=b是赋值语句,a=b=10,不为0,所以 */
{printf("$$$$$\n"); /* 此句被执行 */
}

我想再请教一下
"if(数值不为0)
则执行下面的语句"
这属于什么函数或类型?

在标准C里,if语句对真或假的判断规则为:
如果if语句中的表达式的值为0,则判断结果为假,否则都为真。

所以,if(a=b)这句,a=b=10,不为0,判断结果为真,所以会执行if块中的语句。
---------------
再说一句,标准C里,没有布尔类型,所以对真假的判断是根据上面的规则来做的,等到了JAVA/VB/VC/VS.net这些语言里面,都定义了布尔类型,那么对真假的判断可以用true或false来进行判断了。

来自:求助得到的回答